package com.hk.service.impl;

import com.hk.dao.ProductDisplayDao;
import com.hk.model.ProductDisplay;
import com.hk.model.ProductMenu;
import com.hk.service.IProductDisplayService;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: KangWang
 * Date: 2021/5/19 9:08
 * State：产品业务逻辑层
 */
public class ProductDisplayServiceImpl implements IProductDisplayService {

    ProductDisplayDao productDisplayDao = new ProductDisplayDao();

    @Override
    public ProductDisplay findAllProductDisplay() {
        ProductDisplay productDisplay = productDisplayDao.findAllProductDisplay();
        return productDisplay;
    }

//    产品菜单
    @Override
    public List<ProductMenu> findByParentId(int parentId) {
//      获取所有菜单
        List<ProductMenu> productMenus = productDisplayDao.findByParentId();
//        存储一二级关联菜单
        List<ProductMenu> productMenus1 = new ArrayList<>(20);
        if (productMenus == null && productMenus.isEmpty()) {
            System.out.println("产品菜单无数据");
            return null;
        }
        //                获取一级菜单
        for (ProductMenu productMenu : productMenus) {
            if (parentId == productMenu.getParentId()) {
                productMenus1.add(productMenu);
            }
        }
//            查询子级
        for (ProductMenu productMenu : productMenus1) {
//                每次创建一个新对象
            List<ProductMenu> productMenus2 = new ArrayList<>(5);
            for (ProductMenu menu : productMenus) {
//                    判断当前目录是否为父子关系
                if (productMenu.getMenuId() == menu.getParentId()) {
                    productMenus2.add(menu);
                }
            }
            productMenu.setProductMenus(productMenus2);
        }
        return productMenus1;
    }
}
